package demo05;

import java.util.function.Function;

/*
 *  数组引用构造器
 */
public class Demo05MethodReference {
    public static void main(String[] args) {
        // 使用Lambda
        int[] arr1 = makeArr(10, length -> new int[length]);
        // 数组创建完成后，进行对应的操作...
        for (int j = 0; j < 10; j++) {
            arr1[j] = j + 20;
            System.out.println("数组1添加数据：" + arr1[j]);
        }

        // 使用引用数组
        int[] arr2 = makeArr(20, int[]::new);
        // 数组创建完成后，进行对应的操作...
        for (int j = 0; j < 20; j++) {
            arr2[j] = j * j;
            System.out.println("数组2添加数据：" + arr2[j]);
        }
    }

    public static int[] makeArr(int length, Function<Integer, int[]> function) {
        return function.apply(length);
    }
}
